1. Field of the Invention
This invention relates to building business rule conditions through a graphical user interface.
2. Description of the Related Art
Businesses often use integrated business solutions to perform and track business transactions. The data elements used for these transactions are typically called business objects. Business objects contain attributes, and the system may create a business object probe from the business object, where the probe contains a subset of the attributes of the business object. The business object probe may be passed to a business rule to see whether the business object probe satisfies the conditions of the business rule. If the business object probe does satisfy the conditions of the business rule, some system action may be taken accordingly. For example, a business object probe may comprise the dollar amount of a customer order, and the business rule may allow free shipping for the customer if the dollar amount is over $100.
In the current art, business rule conditions must be created by someone with significant experience in programming for the operating system or development environment that builds the business rule condition. Some systems require the person entering the condition expression to manually type the entire source code directly into a program. Some systems have a semi-automatic method of entering condition expression by allowing a user to make certain text selections from menus or in a wizard to allow the user to automatically paste some elements of the code into a line of text that will later be entered into a program.
The current art suffers from several disadvantages. The user in the current art must build the condition into a line of text, and must therefore mentally visualize the logic of conditions within the business rule independently in relation to the line of text. In addition, the user must mentally trace the order of operation of elements entered to ensure that all elements of the business rule are properly represented and executed during runtime. Further, the user must understand the syntax of expression operators, order of operation indicators, and operands within the target source code of the business rule including special versions of the target source code related to the specific development environment, because the user ultimately manually finalizes the business object probe and places it into the intended program.
Finally, the current art is unavailable to someone without significant programming skill in the target source code language and development environment. The nature of condition expression makes it likely that someone unskilled in programming will be developing the basic business rule conditions. For example, a marketing person might want to give free shipping on certain orders from customers, or a purchasing manager may wish to flag certain types of check payments for special verification. In these instances, they need to translate the business need to the final programmer who then implements it. This process takes time and introduces the possibility of miscommunication and error.
From the foregoing discussion, it should be apparent that a need exists for a method that allows a user to enter business rule conditions graphically and automatically. Beneficially, such a method would allow even a non-technical user to visualize the condition and draft the condition, allow the user to enter condition elements in any order, revise the condition elements, and tailor the syntax for the target source code language and development environment without additional input or double-checking by the user.